package com.kc.gb.device.common.adapter.dto.wes.station.dto;

import com.kc.gb.device.common.adapter.dto.wes.station.enums.StationState;
import com.kc.gb.device.common.adapter.dto.wes.station.enums.StationType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class WesStationDTO extends BaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    private List<StationPointDTO> stationPoints;

//    @ApiModelProperty(value = "所属主分区", name = "primaryZoneCode")
//    @Length(max = 30)
    private String primaryZoneCode;

//    @ApiModelProperty(value = "工作站编码", name = "stationCode")
//    @Length(max = 30)
    private String stationCode;

//    @ApiModelProperty(value = "工作站类型", name = "stationType")
    private StationType stationType;

//    @ApiModelProperty(value = "业务模式", name = "bizType")
//    private StationBizType bizType;

//    @ApiModelProperty(value = "工作站作业范围", name = "bizTypeScope")
//    private List<StationBizType> bizTypeScope;

//    @ApiModelProperty(value = "状态", name = "state")
    private StationState state;

//    @ApiModelProperty(value = "接单标记", name = "acceptNew")
    private Boolean acceptNew;

//    @ApiModelProperty(value = "终止理货", name = "stopTally")
    private Boolean stopTally;

//    @ApiModelProperty(value = "全场急停标记", name = "emergencyStopFlag")
    private Boolean emergencyStopFlag;

//    @ApiModelProperty(value = "是否为主站", name = "master")
//    @NotNull
    private Boolean master;

//    @ApiModelProperty(value = "主站ID", name = "masterStationId")
//    @NotNull
    private Long masterStationId;

//    @ApiModelProperty(value = "工作站设备标识", name = "deviceCode")
//    @Length(max = 50)
    private String deviceCode;

//    @ApiModelProperty(value = "删除标记", name = "deleteFlag")
    private Boolean deleteFlag;

//    @ApiModelProperty(value = "当前操作用户", name = "currentOperator")
    private String currentOperator;

//    @ApiModelProperty(value = "工作站名称", name = "stationName")
//    @NotNull
    private String stationName;

//    @ApiModelProperty(value = "启用标记", name = "enabled")
//    @NotNull
    private Boolean enabled;

//    @ApiModelProperty(value = "逻辑工作站", name = "logical")
    // @NotNull
    private Boolean logical;

//    @ApiModelProperty(value = "支持的分区范围", name = "zoneCodeScope")
//    @NotNull
    private List<String> zoneCodeScope;

//    @ApiModelProperty(value = "所属主分区名称", name = "primaryZoneName")
    private String primaryZoneName;

    /**
     * 备注
     */
    private String remark;

//    @ApiModelProperty(value = "地图版本", name = "mapVersion")
//    @NotNull
    private String mapVersion;

//    private List<StationBizTypeVO> bizTypeScopeAsVO;

    /**
     * 扩展字段
     */
    private String udf1;
    private String udf2;
    private String udf3;

    /**
     * 基准点
     */
    private String basicPointCode;
    /**
     * 龙门架对应点位信息
     */
    //private List<StationSeedingBucketDTO> stationSeedingBucketDTOS;
}
